/******************************************************************
 *
 *	CyberUtil for Java
 *
 *	Copyright (C) Satoshi Konno 2002-2004
 *
 *	File: Mutex.java
 *
 *	Revision:
 *
 *	06/19/04
 *		- first revision.
 *
 ******************************************************************/

package org.cybergarage.util;


public class Mutex
{

    private boolean syncLock;

    ////////////////////////////////////////////////
    //	Constructor
    ////////////////////////////////////////////////


    public Mutex()
    {
        syncLock = false;
    }

    ////////////////////////////////////////////////
    //	lock
    ////////////////////////////////////////////////

    public synchronized void lock()
    {
        while(syncLock == true) {
            try {
                wait();
            }
            catch (Exception e) {
                Debug.warning(e);
            };
        }
        syncLock = true;
    }

    public synchronized void unlock()
    {
        syncLock = false;
        notifyAll();
    }

}